package cn.javase.base.reflect;

public class _01_获取class对象的三种方式 {
    // 1. Class.forName("全类名")  --> 源代码阶段
    // 2. 类名.class --> 加载阶段
    // 3. 对象.getClass() --> 运行阶段
    public static void main(String[] args) throws ClassNotFoundException {
        // 方式一
        Class<?> aClass1 = Class.forName("cn.javase.base.reflect.Student");
        System.out.println(aClass1);
        // 方式二
        Class<Student> studentClass = Student.class;
        System.out.println(studentClass);
        // 方式三
        Student student = new Student();
        Class<? extends Student> aClass = student.getClass();
        System.out.println(aClass);
        // 是否是一个对象？是的
        System.out.println(aClass1 == studentClass);
        System.out.println(studentClass == aClass);
    }
}
